// miniprogram/pages/MyInfo/MyInfo.js
var utils = require('../../utils/getTool');
var util = require('../../utils/promisify');
import Dialog from '../../dist/dialog/dialog';
import Toast from '../../dist/toast/toast';
Page({

  /**
   * 页面的初始数据
   */
  data: {
    userDialog:false
  },
  toOrderform(e) {
    console.log(e)
    wx.navigateTo({
      url: '../MyInfo/orderform/orderform?index=' + e.target.dataset.index,
    })
  },
  toDistribution() {
    wx.navigateTo({
      url: '../MyInfo/distribution/distribution',
    })
  },
  toCoupon() {
    wx.navigateTo({
      url: '../MyInfo/coupon/coupon',
    })
  },
  toSite() {
    wx.navigateTo({
      url: '../MyInfo/site/site',
    })
  },

  toCollect() {
    wx.navigateTo({
      url: '../MyInfo/toollect/toollect',
    })
  },
  toCollect() {
    wx.navigateTo({
      url: '../MyInfo/collect/collect',
    })
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.setData({
      userInfo:wx.getStorageSync('userInfo')
    })
    if(this.data.userInfo===''){
      this.setData({
        userDialog:true //如果进来这个页面这个判断等于 空 那么就提示未登录
      })
    }else{
      this.setData({
        userDialog:false,
        userInfo:wx.getStorageSync('userInfo')
      })
    }
  },
  getWxUserInfo: function (e) {
    //app_connect表中的数据
    wx.showLoading({
      title: '登录中...',
    })
    var callFunction = util(wx.cloud.callFunction);
    var getUserInfo = util(wx.getUserInfo);
    getUserInfo().then(res=>{
      this.setData({
        userInfo:res.userInfo
      })
      console.log(res.userInfo)
      wx.setStorageSync('userInfo', res.userInfo)//设置到本地缓存
    }).catch(err=>console.log(err));
    wx.hideLoading();
    callFunction({
      name: "getwxid"
    }).then(resFun => {
      getApp().getInfo().then(res2=>{
        //这个只是去查询了一下数据库有没有这个以及本地有没有该用户信息 如果有就向数据库添加一条数据
        if(res2.statusCode===200 && res2.data.length===1){
          this.setData({ //隐藏登录框框
            userDialog:false
          })
          //就算登录成功也要刷新数据库数据例如头像
          var rpdata = {
            id:res2.data[0].id, //头像数据更新
            nickName: this.data.userInfo.nickName,
            imageUrl: this.data.userInfo.avatarUrl
          }
          this.saveOrUp(rpdata);
          Toast("登录成功!")
        }else if(res2.statusCode===200 && res2.data.length===0){
          var addata = {
            id: '0',
            nickName: this.data.userInfo.nickName,
            imageUrl: this.data.userInfo.avatarUrl,
            bizUserId: resFun.result._openid
          }
          this.saveOrUp(addata);
        }
      }).catch(err=>console.log(err))
    })
  },
  //更新数据库信息方法
  saveOrUp(dat){
    utils.req({url:getApp().appData.site + "/accp/tzAppConnect/add",
    data:{ //数据库查不到数据那么就是没有在数据库添加过 首次登录授权
      id: dat.id,
      nickName: dat.nickName,
      imageUrl: dat.imageUrl,
      bizUserId: dat.bizUserId,
      sex: this.data.userInfo.gender
    },success:{},fail:err=>console.log(err)})
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  },
  onCloseDialog(){
    this.setData({
      userDialog:false
    })
  }
})